iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
0
Mobile Development

iOS 工程師要懂的AR 開發,利用ARKit 製作APP系列 第 20

ARKit-跟我們的物件來些互動 - part 7

  • 分享至 

  • xImage
  •  

再來添加一些方法讓虛擬場景更符合需求和效能

func suspendPlaneDetection() {
  let config = sceneView.session.configuration as!
    ARWorldTrackingConfiguration
  config.planeDetection = []
  sceneView.session.run(config)
}

這裡獲得當前AR tracking 的配置(configuration) 從 scene view session,
再來清除planeDetection, 最後重新run, 則不會再去偵測額外的平面而節省效能

func hidePlaneNodes() {
    for anchor in (self.sceneView.session.currentFrame?.anchors)! {
      if let node = self.sceneView.node(for: anchor) {
        for child in node.childNodes {
          let material = child.geometry?.materials.first!
          material?.colorBufferWriteMask = []
        }
} }
}

這裏遍訪每一個anchor, 然後找到對應的node, 一但找到了就隱藏它和他的子類


上一篇
ARKit-跟我們的物件來些互動 - part 6
下一篇
ARKit-跟我們的物件來些互動 - part 8
系列文
iOS 工程師要懂的AR 開發,利用ARKit 製作APP25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言